程式在編譯時沒有錯誤訊息,卻在程式執行時發生錯誤。在 Java 中稱為「例外 exception」。
常見例外如:
試查看以下程式碼:
public class exception01 {
public static void main(String[] args) {
int arr[]=new int[5];
arr[10]=7;
System.out.println("例外範例1");
}
}
以上範例程式是可以正常編譯的,但卻在執行時會顯示錯誤訊息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at test.exception01.main(exception01.java:7)
從錯誤訊息當中,我們可以得知:第7行因為索引值超過容許範圍。
Java 發現這個錯誤,並拋出例外;
其中,常串的英文錯誤可從字母大寫開頭做拆開整理:
Array Index Out Of Bounds Exception : 10
意指「 陣列 索引職 超出範圍例外:10 」。
經過以上簡單範例,得知 Java 預設的例外處理會 「拋出例外」 並且「停止程式執行」。
在 Java 當中,例外以類別的型態存在;而在 Java 那也含有預設的例外類別 來做處理(如以上範例)。
不過 除了內建的例外處理之外,也允許自行定義例外類別的。
下篇將會帶入如何例外處理(exception handing)
如果您喜歡我的文章,可以至 4xDev 的 Java 學習系列閱讀更多 Java 文章。